package com.newly.common.base.entity.sys.auth.role.vo;

import com.newly.common.base.entity.sys.tenant.vo.SimpleTenantVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * @author gjm guan
 * @date 2021/10/09 06:09
 * @desc 角色视图对象
 */
@Data
public class RoleVo implements Serializable {
    /**
     * 角色id
     */
    @ApiModelProperty(value = "角色id")
    private Integer id;

    /**
     * 角色名称
     */
    @ApiModelProperty(value = "角色名称")
    private String name;

    /**
     * 授权标识
     */
    @ApiModelProperty(value = "授权标识")
    private String auth;

    /**
     * 创建人
     */
    @ApiModelProperty("创建人")
    private SimpleTenantVo createTenant;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注")
    private String remark;

    /**
     * 角色等级
     */
    @ApiModelProperty(value = "角色等级")
    private Integer level;

    /**
     * 角色类型
     */
    @ApiModelProperty("角色类型")
    private RoleTypeVo roleType;

    /**
     * 角色类型
     */
    @ApiModelProperty("角色类型")
    private Integer type;

    /**
     * 父角色id，0代表顶级
     */
    @ApiModelProperty(value = "父角色id，0代表顶级")
    private Integer parentId;

    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    /**
     * 修改时间
     */
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;

    /**
     * 是否启用
     */
    @ApiModelProperty("是否启用")
    private Integer enable;

    /**
     * 绑定的租户
     */
    @ApiModelProperty("绑定的租户")
    private List<SimpleTenantVo> bindTenants;

}
